package com.rc.saas.tenant.mapper.rc;

import com.rc.saas.tenant.common.base.BaseMapper;
import java.util.List;

import com.rc.saas.tenant.model.rc.RcOperatorAccount;
import com.rc.saas.tenant.model.rc.RcOperatorAccountExample;
import com.rc.saas.tenant.model.rc.RcOperatorAccountRecord;
import com.rc.saas.tenant.model.rc.RcOperatorAccountRecordExample;
import com.rc.saas.tenant.search.rc.RcOperatorAccountRecordSearch;
import com.rc.saas.tenant.vo.rc.ExportRcOperatorAccountRecordVo;
import com.rc.saas.tenant.vo.rc.RcOperatorAccountRecordStatistics;
import org.apache.ibatis.annotations.Param;

public interface RcOperatorAccountRecordMapper extends BaseMapper<Long, RcOperatorAccountRecord, RcOperatorAccountRecordExample> {

    /**
     * 资金交易流水明细列表查询
     * @param rcOperatorAccountRecordSearch
     * @return
     */
    List<RcOperatorAccountRecord> searchByCondition(RcOperatorAccountRecordSearch rcOperatorAccountRecordSearch);

    /**
     * 资金交易流水明细列表统计
     * @param rcOperatorAccountRecordSearch
     * @return
     */
    RcOperatorAccountRecordStatistics rcOperatorAccountRecordStatistics(RcOperatorAccountRecordSearch rcOperatorAccountRecordSearch);

    /**
     * 更新入账时间
     * @param info
     */
    void updateTimeByPrimaryKey(RcOperatorAccountRecord info);

    /**
     * 导出资金交易流水明细列表查询
     * @param rcOperatorAccountRecordSearch
     * @return
     */
    List<ExportRcOperatorAccountRecordVo> exportRcOperatorAccountRecord(RcOperatorAccountRecordSearch rcOperatorAccountRecordSearch);

    /**
     * 资金交易流水明细数据录入（API）
     * @param info
     */
    void insertRcOperatorAccountRecord(RcOperatorAccountRecord info);

}